export default class Utils {

    /**
     * 将 Date 对象转换为 YYYY-MM-DD HH:mm:ss 格式的字符串
     * @param {Date} param Date 对象
     * @returns {string | undefined} 转换后的字符串，如果 param 不是 Date 对象，则返回 undefined
     */
    static convertDateToString(param) {
        if (param instanceof Date) {
            const year = param.getFullYear();
            const month = String(param.getMonth() + 1).padStart(2, '0');
            const day = String(param.getDate()).padStart(2, '0');
            const hour = String(param.getHours()).padStart(2, '0');
            const minute = String(param.getMinutes()).padStart(2, '0');
            const second = String(param.getSeconds()).padStart(2, '0');
            return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
        }
        return undefined;
    }

    /**
     * 从 URL 中提取文件名
     * @param {string} url URL 字符串
     * @returns {string} 文件名，如果 URL 无效或未找到文件名，则返回空字符串
     */
    static getFileNameFromURL(url) {
        try {
            const urlObj = new URL(url);
            const pathname = urlObj.pathname;
            const filename = pathname.substring(pathname.lastIndexOf('/') + 1);
            return filename || "";
        } catch (e) {
            console.error("Invalid URL:", url);
            return "";
        }
    }
}